mariadb.git
2 weeks agoMDEV-39082 mysql-test: use vardir as datadir in collect_mysqld_features
Aquila Macedo [Mon, 16 Mar 2026 04:09:29 +0000 (01:09 -0300)]
MDEV-39082 mysql-test: use vardir as datadir in collect_mysqld_features

collect_mysqld_features probes mariadbd with --datadir=., which can
point to the installed mysql-test tree.

During this probe, mariadbd may run the datadir case-sensitivity check
and try to create a *.lower-test file there. This is a bad fit when the
test suite is run from a read-only installed path (e.g. /usr/share/...).

Use $opt_vardir as the datadir for this probe instead, so it runs in a
writable location and avoids writes into the installed test tree.

This upstream change stemmed from discovering during AppArmor testing that the
mariadb-test-run is writing in the /usr/share/.. path:

    apparmor="DENIED" operation="mknod" ... name="/usr/share/mariadb/mariadb-test/mariadb-aa.lower-test" requested_mask="c"

Origin: https://github.com/MariaDB/server/commit/1ecc1d932a0d89d83c7487da6b34717f10a9b7f5.patch
Forwarded: https://github.com/MariaDB/server/pull/4813

Gbp-Pq: Name MDEV-39082-mysql-test-use-vardir-as-datadir-in-collect_my.patch

2 weeks ago[PATCH] MDEV-38811 crash in information_schema.table_constraints when --skip-grant...
Sergei Golubchik [Fri, 13 Feb 2026 14:22:57 +0000 (15:22 +0100)]
[PATCH] MDEV-38811 crash in information_schema.table_constraints when --skip-grant-tables

acl_get_all3() wasn't expecting --skip-grant-tables

Multiple users reported Akonadi crashing with MariaDB 11.8.6. Downgrading to
11.8.5 fixed it. Reason most likely due to upstream regression as described
in detail in bug reports.

Origin: https://github.com/MariaDB/server/commit/87309d3d4bb8f48910d05b0ca5ee989bcdd6b053.patch
Bug: https://jira.mariadb.org/browse/MDEV-38811
Forwarded: not-needed

Gbp-Pq: Name MDEV-38811-skip-grant-tables-crash.patch

2 weeks agoAdd safe hardening to mariadb.service units
Aquila Macedo [Fri, 16 Jan 2026 00:53:16 +0000 (19:53 -0500)]
Add safe hardening to mariadb.service units

Add low regression systemd hardening directives to mariadb.service and
mariadb@.service to improve 'systemd-analyze security' without touching
the historically-problematic areas (capability bounding /
NoNewPrivileges / PrivateDevices). Refs: MDEV-10404, MDEV-19878,
MDEV-36591, MDEV-36681

Includes kernel/cgroup protections, disables realtime scheduling, locks
personality, and restricts namespace creation (overrideable via drop-in)

This patch should be submitted upstream once proven stable in Debian.

Forwarded: no

Gbp-Pq: Name systemd-hardening-safe-defaults.patch

2 weeks agosysusers.d: lock mysql user and keep Debian home/shell
Aquila Macedo [Fri, 9 Jan 2026 00:34:26 +0000 (21:34 -0300)]
sysusers.d: lock mysql user and keep Debian home/shell

Use u! and set HOME=/nonexistent and shell=/bin/false for the mysql
user.

This patch should be submitted upstream once proven stable in Debian.

Forwarded: no

Gbp-Pq: Name sysusers-lock-mysql-account.patch

2 weeks agoMake the new merge_alter test indifferent to extra version info
Otto Kekäläinen [Thu, 27 Nov 2025 00:49:24 +0000 (16:49 -0800)]
Make the new merge_alter test indifferent to extra version info

Modify the test regex to accept any extra version info, just like it
accepts any server version info. The test is supposed to fail on actual
differences in behaviour and server info strings are intentionally
normalized and not regarded.

Without this modification, the test introduced in 9e8e215e would fail
in post-build MTR on "from Debian-log" and in autopkgtest on "from Debian":

    main.merge_alter                         w4 [ fail ]
            Test ended at 2025-11-26 22:41:38
    CURRENT_TEST: main.merge_alter
    /usr/share/mariadb/mariadb-test/main/merge_alter.result 2025-11-13 11:45:29.000000000 +0300
    /tmp/tmp.3vGjZWHA79/var/4/log/merge_alter.reject 2025-11-27 01:41:38.523996124 +0300
    @@ -10,7 +10,7 @@
     /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
     DELIMITER /*!*/;
     # at #
    -#010909  4:46:40 server id #  end_log_pos # CRC32 XXX  Start: binlog v 4, server v #.##.## created 010909  4:46:40 at startup
    +#010909  4:46:40 server id #  end_log_pos # CRC32 XXX  Start: binlog v 4, server v #.##.## from Debian created 010909  4:46:40 at startup
     ROLLBACK/*!*/;
     # at #
     #010909  4:46:40 server id #  end_log_pos # CRC32 XXX  Gtid list []
    Result length mismatch

Forwarded: not-needed

Gbp-Pq: Name include-debian-in-test-merge-alter-result.patch

2 weeks agoSuppress native AIO warning introduced in 10.8.3
Otto Kekäläinen [Fri, 8 Aug 2025 04:30:51 +0000 (21:30 -0700)]
Suppress native AIO warning introduced in 10.8.3

Upstream a87bb96 introduced a new warning, visible at least on all ppc64el and
s390x builds which makes the post-build mariadb-test-test fail:

    [Warning] InnoDB: native AIO failed: falling back to
    innodb_use_native_aio=OFF

The case of this is the ci environment only where there is insufficent
fs.aio-max-nr configured. A such we are adding a suppression to the
mtr only. The warning is valuable for users. Upstream MDEV-37411 has
added a io_setup as a warning, which will fail in the CI environment,
so we're pre-emptively suppressing this warning too.

Unlike upstream MariaDB, in Debian we removed libaio in for Linux on
MariaDB 10.6+ in 612630c6 and completely in 1d648d6f. This was re-added
by upstream added a system variable innodb_linux_aio to control, and
also provided automated fallback. As such we're readding it back too.

With liburing still seccomp filterer in container environments having
a libaio fallback is more valuable than the threads implementation of
last resort.

Edited & Updated: Daniel Black <daniel@mariabdb.org>

Upstream rejected this with the conclusion, is that it will start working in
Debian/Salsa/Ubuntu/Launchpad once the Linux kernel is new enough to handle the
I/O calls and fallbacks properly, or once the CI system increases the value of
/proc/sys/fs/aio-max-nr to 1 million or so, to allow multiple parallel MariaDB
servers (as started by mariadb-test-run) each have enough quota for native AIO
to work.

Forwarded: https://jira.mariadb.org/browse/MDEV-37411 (rejected)

Gbp-Pq: Name MDEV-37411-suppress-new-warning-about-native-aio.patch

2 weeks agoImprove output from mariadb-secure-installation to be more honest
Otto Kekäläinen [Wed, 4 Jun 2025 11:46:31 +0000 (14:46 +0300)]
Improve output from mariadb-secure-installation to be more honest

The script is not useful in Debian, and likely misleading to users.
Improve the output to be more clear about what it is doing or is not
doing.

Merged on 'main' in
https://github.com/MariaDB/server/commit/3a08a8e3d2212f3f60937b3fd97207c3ea7b933a
and thus included in MariaDB 12.3 onward.

Forwarded: https://github.com/MariaDB/server/pull/4457

Gbp-Pq: Name Improve-output-from-mariadb-secure-installation-to-be-mor.patch

2 weeks agoFix misc spelling in MariaDB Server repository
Otto Kekalainen [Sun, 10 Mar 2024 16:56:13 +0000 (16:56 +0000)]
Fix misc spelling in MariaDB Server repository

This is a combined patch of various spelling fixes.

* Fix misc typos in MariaDB Server

* Fix spelling of 'allows one to'

  Fix the following Lintian nags introduced in commit
  c8d040938a7ebe10e62506a726702c5990ef4dda:

  I: mariadb-backup: spelling-error-in-binary "allows to" "allows one to" [usr/bin/mariadb-backup]
  I: mariadb-server-core: spelling-error-in-binary "allows to" "allows one to" [usr/sbin/mariadbd]
  I: mariadb-test: spelling-error-in-binary "allows to" "allows one to" [usr/bin/mariadb-client-test-embedded]
  I: mariadb-test: spelling-error-in-binary "allows to" "allows one to" [usr/bin/mariadb-test-embedded]
  I: mariadb-test: spelling-error-in-binary "allows to" "allows one to" [usr/bin/test-connect-t]

* Fix typo: Enrypt->Encrypt

Merged in https://github.com/MariaDB/server/commit/5879c85f505d3a11d4b8f479f2437416d8a1d724
and thus included in MariaDB 12.3 onward.

Forwarded: https://github.com/MariaDB/server/pull/4458

Gbp-Pq: Name Fix-misc-spelling-in-MariaDB-Server-repository.patch

2 weeks agoDisable the 'mysql*' command deprecation warning
Otto Kekalainen [Sun, 30 Jun 2024 15:18:06 +0000 (15:18 +0000)]
Disable the 'mysql*' command deprecation warning

Many command-line tools expect the commands they run to return without
any output in stderr or having error codes. The fact that now in MariaDB
11.4 all 'mysql*' commands emit a deprecation warning causes a lot of
scripts to fail, such as the /etc/init.d/mariadb itself and many dependent
programs as witnessed via Debian autopkgtests. See examples below.

https://ci.debian.net/packages/m/mariadb-connector-odbc/testing/amd64/48373500/
https://ci.debian.net/packages/p/pam-mysql/testing/amd64/48373511/
https://ci.debian.net/packages/r/roundcube/testing/amd64/48373518/

Forwarded: not-needed

Gbp-Pq: Name hide-mysql-command-deprecation-warnings.patch

2 weeks agoShow banner in server and client startup to drive community engagement
Otto Kekalainen [Sun, 10 Mar 2024 16:56:13 +0000 (16:56 +0000)]
Show banner in server and client startup to drive community engagement

Suggest to users that they can support MariaDB development by simply giving a
star on GitHub. This patch experiments with how well such a banner works, and
may later change the contents to drive some other kind of engagement.

Client output:

    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 17
    Server version: 11.8.1-MariaDB-5 from Debian -- Please help get to 10k stars at https://github.com/MariaDB/Server

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]>

Server output:
    [Note] Please help get to 10k stars at https://github.com/MariaDB/Server

Server output if built in git directory:
    [Note] Starting MariaDB 11.8.1-MariaDB-5 from Debian source revision 1a9c3debfd6b1b16af4e501d3530b866b85c38a8 server_uid eNAjF8/wvUNM09/mSmh+k3a5o5w= as process 1359

Logs will also show as server output:
    mysqld: Version: '11.8.1-MariaDB-5 from Debian'  socket: '/run/mysqld/mysqld.sock'  port: 3306  -- Please help get to 10k stars at https://github.com/MariaDB/Server

This patch can be dropped if Debian updates to ship

Something similar was merged in https://github.com/MariaDB/server/commit/346c7afe9b7071ce9c47892a83d69944b608b3da
and thus included in MariaDB 12.3 onward.

Forwarded: not-needed

Gbp-Pq: Name startup-message.patch

2 weeks agoInstall PAM modules and systemd units into /usr
Michael Biebl [Mon, 22 Jan 2024 21:52:25 +0000 (22:52 +0100)]
Install PAM modules and systemd units into /usr

Since Debian trixie all files need to be installed into their canonical
location under /usr.

Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061348
Forwarded: https://github.com/MariaDB/server/pull/4065

Gbp-Pq: Name install-files-into-usr.patch

2 weeks agocmake: add support for reproducible buildS
Sutou Kouhei [Sat, 5 Feb 2022 02:05:39 +0000 (11:05 +0900)]
cmake: add support for reproducible buildS

We should use relative path not absolute path. We can use target without
breaking reproducibility.

This patch can be removed once MariaDB ships with Mroonga v12.00+ that has
https://github.com/mroonga/mroonga/commit/27caeb9b8ce7fa432b1251eca475b517c6902a6c

Origin: https://github.com/mroonga/mroonga/issues/298#issuecomment-1030815927
Bug: https://github.com/mroonga/mroonga/issues/298
Forwarded: not-needed

Gbp-Pq: Name mroonga-mrn-lib-dirs-path-reproducible-build.patch

2 weeks agoFix perl path in scripts
Otto Kekalainen [Sun, 20 Dec 2020 18:58:42 +0000 (20:58 +0200)]
Fix perl path in scripts

Fix Lintian issue https://lintian.debian.org/tags/incorrect-path-for-interpreter.html

Upstream will never accept this patch,
see https://github.com/MariaDB/server/pull/1718

Origin: https://patch-diff.githubusercontent.com/raw/MariaDB/server/pull/1718.patch
Forwarded: https://github.com/MariaDB/server/pull/1718 (rejected, will never be merged)

Gbp-Pq: Name env-perl-usr-bin-perl.patch

2 weeks agomariadb (1:11.8.6-4) unstable; urgency=medium
Otto Kekäläinen [Thu, 19 Mar 2026 13:13:13 +0000 (13:13 +0000)]
mariadb (1:11.8.6-4) unstable; urgency=medium

  * New AppArmor for mariadbd now in 'enforce' mode. See NEWS for details.
  * Additional refinement to make the AppArmor and related autopkgtest as
    robust as possible:
    - Add patch to have mariadb-test-run not write in
      /usr/share/mariadb/mariadb-test/ to not violate the AppArmor profile
    - Normalize variables 'aria-checkpoint-interval' and 'aria-recover-options'
      to documented defaults as they seem to be effect in Ubuntu binaries now,
      while Debian binaries seem to default to zero and empty for an unknown
      reason.
    - Ensure AppArmor diagnostics run even when autopkgtests fail to catch
      potential situations where autopkgtests job 'upstream' violated the
      AppArmor profile.
    - Simplify AppArmor profile, allow 'mariadb' aliases and unify indentation.
    - Extend AppArmor profile to cover all easily testable features
      (Closes: #1130272).

[dgit import unpatched mariadb 1:11.8.6-4]

2 weeks agoImport mariadb_11.8.6-4.debian.tar.xz
Otto Kekäläinen [Thu, 19 Mar 2026 13:13:13 +0000 (13:13 +0000)]
Import mariadb_11.8.6-4.debian.tar.xz

[dgit import tarball mariadb 1:11.8.6-4 mariadb_11.8.6-4.debian.tar.xz]

8 weeks agoImport mariadb_11.8.6.orig.tar.gz
Otto Kekäläinen [Sat, 7 Feb 2026 08:08:08 +0000 (08:08 +0000)]
Import mariadb_11.8.6.orig.tar.gz

[dgit import orig mariadb_11.8.6.orig.tar.gz]